﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.Infra.Service.Validation;

namespace Sinacor.Servico.Bovespa.Cliente.BusinessEntity
{
    /// <summary>
    /// Tipo de Conta
    /// </summary>
    public class TipoConta
    {
        #region Campos
        private string _apelidoCliente;
        private int? _codigoCliente;
        private bool? _especialista;
        private BusinessEntity.Enum.TipoCliente? _tipoCliente;
        #endregion

        #region Contrutor
        /// <summary>
        /// Construtor Padrão
        /// </summary>
        public TipoConta() { }

        /// <summary>
        /// Construtor com parametros
        /// </summary>
        public TipoConta(string apelidoCliente, int? codigoCliente, bool? especialista, BusinessEntity.Enum.TipoCliente? tipoCliente) 
        {
            this.ApelidoCliente = apelidoCliente;
            this.CodigoCliente = codigoCliente;
            this.Especialista = especialista;
            this.TipoCliente = tipoCliente;
        }
        #endregion

        #region Propriedades

        /// <summary>
        /// Apelido do Cliente
        /// </summary>
        public string ApelidoCliente
        {
            get { return _apelidoCliente; }
            set { _apelidoCliente = value; }
        }
        /// <summary>
        /// Codigo do Cliente
        /// </summary>
        [NotNull(109341)]
        public int? CodigoCliente
        {
            get { return _codigoCliente; }
            set { _codigoCliente = value; }
        }
        /// <summary>
        /// Especialista
        /// </summary>
        public bool? Especialista
        {
            get { return _especialista; }
            set { _especialista = value; }
        }
        /// <summary>
        /// Tipo de Cliente
        /// </summary>
        [NotNull(109343)]
        public BusinessEntity.Enum.TipoCliente? TipoCliente
        {
            get { return _tipoCliente; }
            set { _tipoCliente = value; }
        }
        #endregion
    }
}
